﻿#region License
// /* **************************************************************
// * Copyright (C) intex Consulting GmbH - All Rights Reserved    *
// *--------------------------------------------------------------*
// * Unauthorized copying of this file, via any medium is         *
// * strictly prohibited                                          *
// *--------------------------------------------------------------*
// * Proprietary and confidential                                 *
// *--------------------------------------------------------------*
// * Dissasembling/modifications strictly prohibited!             *
// ***************************************************************/
#endregion
using System;
using System.Diagnostics.CodeAnalysis;
using ComHlp.enums;

namespace ComHlp.ContentClasses.VirtualControls
{
    /// <summary> formdef field additions </summary>
    [SuppressMessage("ReSharper", "UnusedAutoPropertyAccessor.Global")]
    public sealed class ItxFieldAddition : ICloneable
    {
        /// <summary> internal, virtual name </summary>
        public string VirtualName { get; set; }

        /// <summary> intex font number </summary>
        public int FontNo { get; set; }

        /// <summary> intex field number </summary>
        public int FieldNo { get; set; }

        /// <summary> intex row number </summary>
        public int RowNoOrPositionX { get; set; }

        /// <summary> intex column number </summary>
        public int ColumnNo { get; set; }

        /// <summary> constant length </summary>
        public int ConstLength { get; set; }

        /// <summary> constant </summary>
        public string Constant { get; set; }

        /// <summary> color number </summary>
        public int ColorNo { get; set; }

        /// <summary> field alignment </summary>
        public ItxAlignment Alignment { get; set; }

        /// <summary> field zoom factor </summary>
        public int Factor { get; set; }

        // up from protocol revision 02
        public char Type { get; set; }

        /// <summary> font weight </summary>
        public ItxFontWeight FontWeight { get; set; }


        /// <summary> Default constructor </summary>
        public ItxFieldAddition()
        {
            Constant = "";
            VirtualName = "";
        }
        
        object ICloneable.Clone() { return Clone(); }
        public ItxFieldAddition Clone()
        {   
            return MemberwiseClone() as ItxFieldAddition;   
        }
    }
}
